package cn.hn.zhappy.service;

import cn.hn.zhappy.common.Assist;
import cn.hn.zhappy.entity.Alarms;

import java.util.List;

public interface AlarmsService {
    /**
     * 获得Alarms数据的总行数,可以通过辅助工具Assist进行条件查询,如果没有条件则传入null
     *
     * @param assist
     * @return
     */
    long getAlarmsRowCount(Assist assist);

    /**
     * 获得Alarms数据集合,可以通过辅助工具Assist进行条件查询,如果没有条件则传入null
     *
     * @param assist
     * @return
     */
    List<Alarms> selectAlarms(Assist assist);

    /**
     * 获得一个Alarms对象,以参数Alarms对象中不为空的属性作为条件进行查询
     *
     * @param obj
     * @return
     */
    Alarms selectAlarmsByObj(Alarms obj);

    /**
     * 通过Alarms的id获得Alarms对象
     *
     * @param id
     * @return
     */
    Alarms selectAlarmsById(String id);

    /**
     * 插入Alarms到数据库,包括null值
     *
     * @param value
     * @return
     */
    int insertAlarms(Alarms value);

    /**
     * 插入Alarms中属性值不为null的数据到数据库
     *
     * @param value
     * @return
     */
    int insertNonEmptyAlarms(Alarms value);

    /**
     * 批量插入Alarms到数据库
     *
     * @param value
     * @return
     */
    int insertAlarmsByBatch(List<Alarms> value);

    /**
     * 通过Alarms的id删除Alarms
     *
     * @param id
     * @return
     */
    int deleteAlarmsById(String id);

    /**
     * 通过辅助工具Assist的条件删除Alarms
     *
     * @param assist
     * @return
     */
    int deleteAlarms(Assist assist);

    /**
     * 通过Alarms的id更新Alarms中的数据,包括null值
     *
     * @param enti
     * @return
     */
    int updateAlarmsById(Alarms enti);

    /**
     * 通过辅助工具Assist的条件更新Alarms中的数据,包括null值
     *
     * @param value
     * @param assist
     * @return
     */
    int updateAlarms(Alarms value, Assist assist);

    /**
     * 通过Alarms的id更新Alarms中属性不为null的数据
     *
     * @param enti
     * @return
     */
    int updateNonEmptyAlarmsById(Alarms enti);

    /**
     * 通过辅助工具Assist的条件更新Alarms中属性不为null的数据
     *
     * @param value
     * @param assist
     * @return
     */
    int updateNonEmptyAlarms(Alarms value, Assist assist);
}